package com.freemalll.merchant.domain.dto.merchantParameters;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.freemalll.merchant.utils.CustomLocalDateTimeSerializer;
import com.freemalll.merchant.utils.CustomLocalTimeDeserializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 参数日志
 *
 * @author jianglr
 * @since 2025-03-10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "参数日志")
public class ParamsLogDTO {

    /**
     * 主键
     */
    @Schema(description = "主键")
    private String id;

    /**
     * 模板id
     */
    @Schema(description = "模板id")
    private String paramId;

    /**
     * 日志类型
     */
    @Schema(description = "日志类型")
    private String logType;

    /**
     * 内容
     */
    @Schema(description = "内容")
    private String content;

    /**
     * 文件名称
     */
    @Schema(description = "文件名称")
    private String fileName;

    /**
     * 添加时间
     */
    @Schema(description = "添加时间")
    @JsonSerialize(using = CustomLocalDateTimeSerializer.class)
    @JsonDeserialize(using = CustomLocalTimeDeserializer.class)
    private LocalDateTime addTime;

    /**
     * 添加数据的人的id
     */
    @Schema(description = "添加数据的人的id")
    private String addManId;

    /**
     * 添加数据的人名称
     */
    @Schema(description = "添加数据的人名称")
    private String addManName;

}
